package cn.niit.letuseatdemo.service;


import cn.niit.letuseatdemo.entity.domain.Store;

import java.util.List;

public interface StoreService {
    /*
      * @Description:（商家登录）根据账号、密码获取对应的用户对象
      * @Author: zhang_bowen
      * @CreateTime: 2022/11/30  22:46
 * @return: cn.niit.letuseatdemo.entity.domain.Store
      **/
    Store getStoreByStorePhoneStorePassword(String storePhone,String storePassword);

    /**
     * 根据 storeId 查询对应的商家对象
     *
     * @param storeId 商家主键
     * @return 商家
     */
    public Store selectStoreByStoreId(Long storeId);



    /**
     * 查询商家列表
     *
     * @param store 商家
     * @return 商家集合
     */
    public List<Store> selectStoreList(Store store);

    /*
    * @Description:(用户侧)查商家列表
    * @Author: Zhang Shiqi
    * @CreateTime： 2022/12/7 19:04
     * @param: store
     * @return: java.util.List<cn.niit.letuseatdemo.entity.domain.Store>
    **/
    public List<Store> selectAllStoreList(Store store);

    /**
     * 根据类别id查询商家列表
     *
     * @return 商家集合
     */
    public List<Store> selectStoreListByCategoryId(Long categoryId);


    /**
     * 新增商家
     *
     * @param store 商家
     * @return 结果
     */
    public int insertStore(Store store);

    /**
     * 修改商家
     *
     * @param store 商家
     * @return 结果
     */
    public int updateStore(Store store);

    /**
     * 批量删除商家
     *
     * @param storeIds 需要删除的商家主键集合
     * @return 结果
     */
    public int deleteStoreByStoreIds(String storeIds);

    /**
     * 删除商家信息
     *
     * @param storeId 商家主键
     * @return 结果
     */
    public int deleteStoreByStoreId(Long storeId);

    /*
      * @Description: (管理员)查询商家
      * @Author: zhang_bowen
      * @CreateTime: 2022/12/1  11:11
 * @return: null
      **/
    public Store selectAdminStoreByStoreId(Long storeId);

    /*
      * @Description: (管理员)查询商家列表
      * @Author: zhang_bowen
      * @CreateTime: 2022/12/1  11:12
 * @return: null
      **/
    public List<Store> selectAdminStoreList(Store store);

    /*
      * @Description:（管理员）修改商家入驻审核状态
      * @Author: zhang_bowen
      * @CreateTime: 2022/12/1  11:13
 * @return: null
      **/
    public int updateAdminStore(Store store);

    /*
      * @Description: 商家入驻
      * @Author: zhang_bowen
      * @CreateTime: 2022/12/1  22:37
 * @return: null
      **/
    public int insertAdminStore(Store store);

    /*
      * @Description: (商家登录入驻)查找用户名
      * @Author: zhang_bowen
      * @CreateTime: 2022/12/2  10:31
 * @return: null
      **/
    public Store findStorePhone(String storePhone);

    /*
      * @Description: (商家登录入驻)查找账号密码
      * @Author: zhang_bowen
      * @CreateTime: 2022/12/2  10:32
 * @return: null
      **/
    public String findStorePassword(String storePhone);




    /**
     * 根据类别查询同类店铺
     *@Autor 陆品贤
     * @param categoryId 类别id
     * @return 同类店铺类别集合
     */
    public List<Store> selectShopByCategoryId(Long categoryId);

    /*
      * @Description: （管理员）审核商家入驻通过
      * @Author: zhang_bowen
      * @CreateTime: 2022/12/8  17:06
 * @return: int
      **/
    int auditSuccess(Integer id);

    /*
      * @Description: （管理员）审核商家入驻不通过
      * @Author: zhang_bowen
      * @CreateTime: 2022/12/8  17:09
 * @return: null
      **/
    int auditFail(Integer id);

}

